package com.zycfc.zsf.boot.redis.domain;

import java.io.*;
import java.util.concurrent.atomic.*;
import com.zycfc.zsf.boot.logback.consts.*;

public class RedisCallInf implements Serializable
{
    private String appName;
    private String ip;
    private String id;
    private String statTime;
    private String key;
    private Long callDur;
    private Integer valSize;
    private String operType;
    private Long callTimes;
    private AtomicLong totalCallDur;
    private AtomicLong totalValSize;
    private Long avgCallDur;
    private Long avgValSize;
    private Long minValSize;
    private Long maxValSize;
    private Long minCallDur;
    private Long maxCallDur;
    private Integer effectiveTime;
    
    public RedisCallInf() {
    }
    
    public RedisCallInf(final String key, final Long callDur, final Integer valSize, final String operType) {
        this.key = key;
        this.callDur = callDur;
        this.valSize = valSize;
        this.operType = operType;
    }
    
    public RedisCallInf(final String key, final Long callDur, final Integer valSize, final String operType, final Integer effectiveTime) {
        this.key = key;
        this.callDur = callDur;
        this.valSize = valSize;
        this.operType = operType;
        this.effectiveTime = effectiveTime;
    }
    
    public RedisCallInf(final String appName, final String ip, final String key, final Long callDur, final Integer valSize, final String operType) {
        this.appName = appName;
        this.ip = ip;
        this.key = key;
        this.callDur = callDur;
        this.valSize = valSize;
        this.operType = operType;
    }
    
    public RedisCallInf(final String statTime, final String key, final String operType, final Long callTimes, final Long avgCallDur, final Long avgValSize) {
        this.statTime = statTime;
        this.key = key;
        this.operType = operType;
        this.callTimes = callTimes;
        this.avgCallDur = avgCallDur;
        this.avgValSize = avgValSize;
    }
    
    @Override
    public String toString() {
        return LogTypeEnum.REDIS + "@@@" + this.key + "#@%@#" + this.callTimes + "#@%@#" + this.avgValSize + "#@%@#" + this.avgCallDur + "#@%@#" + this.operType + "#@%@#" + this.statTime + "#@%@#" + this.minValSize + "#@%@#" + this.maxValSize + "#@%@#" + this.minCallDur + "#@%@#" + this.maxCallDur + "#@%@#" + this.effectiveTime;
    }
    
    public String getAppName() {
        return this.appName;
    }
    
    public String getIp() {
        return this.ip;
    }
    
    public String getId() {
        return this.id;
    }
    
    public String getStatTime() {
        return this.statTime;
    }
    
    public String getKey() {
        return this.key;
    }
    
    public Long getCallDur() {
        return this.callDur;
    }
    
    public Integer getValSize() {
        return this.valSize;
    }
    
    public String getOperType() {
        return this.operType;
    }
    
    public Long getCallTimes() {
        return this.callTimes;
    }
    
    public AtomicLong getTotalCallDur() {
        return this.totalCallDur;
    }
    
    public AtomicLong getTotalValSize() {
        return this.totalValSize;
    }
    
    public Long getAvgCallDur() {
        return this.avgCallDur;
    }
    
    public Long getAvgValSize() {
        return this.avgValSize;
    }
    
    public Long getMinValSize() {
        return this.minValSize;
    }
    
    public Long getMaxValSize() {
        return this.maxValSize;
    }
    
    public Long getMinCallDur() {
        return this.minCallDur;
    }
    
    public Long getMaxCallDur() {
        return this.maxCallDur;
    }
    
    public Integer getEffectiveTime() {
        return this.effectiveTime;
    }
    
    public void setAppName(final String appName) {
        this.appName = appName;
    }
    
    public void setIp(final String ip) {
        this.ip = ip;
    }
    
    public void setId(final String id) {
        this.id = id;
    }
    
    public void setStatTime(final String statTime) {
        this.statTime = statTime;
    }
    
    public void setKey(final String key) {
        this.key = key;
    }
    
    public void setCallDur(final Long callDur) {
        this.callDur = callDur;
    }
    
    public void setValSize(final Integer valSize) {
        this.valSize = valSize;
    }
    
    public void setOperType(final String operType) {
        this.operType = operType;
    }
    
    public void setCallTimes(final Long callTimes) {
        this.callTimes = callTimes;
    }
    
    public void setTotalCallDur(final AtomicLong totalCallDur) {
        this.totalCallDur = totalCallDur;
    }
    
    public void setTotalValSize(final AtomicLong totalValSize) {
        this.totalValSize = totalValSize;
    }
    
    public void setAvgCallDur(final Long avgCallDur) {
        this.avgCallDur = avgCallDur;
    }
    
    public void setAvgValSize(final Long avgValSize) {
        this.avgValSize = avgValSize;
    }
    
    public void setMinValSize(final Long minValSize) {
        this.minValSize = minValSize;
    }
    
    public void setMaxValSize(final Long maxValSize) {
        this.maxValSize = maxValSize;
    }
    
    public void setMinCallDur(final Long minCallDur) {
        this.minCallDur = minCallDur;
    }
    
    public void setMaxCallDur(final Long maxCallDur) {
        this.maxCallDur = maxCallDur;
    }
    
    public void setEffectiveTime(final Integer effectiveTime) {
        this.effectiveTime = effectiveTime;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof RedisCallInf)) {
            return false;
        }
        final RedisCallInf other = (RedisCallInf)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$appName = this.getAppName();
        final Object other$appName = other.getAppName();
        Label_0065: {
            if (this$appName == null) {
                if (other$appName == null) {
                    break Label_0065;
                }
            }
            else if (this$appName.equals(other$appName)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$ip = this.getIp();
        final Object other$ip = other.getIp();
        Label_0102: {
            if (this$ip == null) {
                if (other$ip == null) {
                    break Label_0102;
                }
            }
            else if (this$ip.equals(other$ip)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0139: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0139;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$statTime = this.getStatTime();
        final Object other$statTime = other.getStatTime();
        Label_0176: {
            if (this$statTime == null) {
                if (other$statTime == null) {
                    break Label_0176;
                }
            }
            else if (this$statTime.equals(other$statTime)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$key = this.getKey();
        final Object other$key = other.getKey();
        Label_0213: {
            if (this$key == null) {
                if (other$key == null) {
                    break Label_0213;
                }
            }
            else if (this$key.equals(other$key)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$callDur = this.getCallDur();
        final Object other$callDur = other.getCallDur();
        Label_0250: {
            if (this$callDur == null) {
                if (other$callDur == null) {
                    break Label_0250;
                }
            }
            else if (this$callDur.equals(other$callDur)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$valSize = this.getValSize();
        final Object other$valSize = other.getValSize();
        Label_0287: {
            if (this$valSize == null) {
                if (other$valSize == null) {
                    break Label_0287;
                }
            }
            else if (this$valSize.equals(other$valSize)) {
                break Label_0287;
            }
            return false;
        }
        final Object this$operType = this.getOperType();
        final Object other$operType = other.getOperType();
        Label_0324: {
            if (this$operType == null) {
                if (other$operType == null) {
                    break Label_0324;
                }
            }
            else if (this$operType.equals(other$operType)) {
                break Label_0324;
            }
            return false;
        }
        final Object this$callTimes = this.getCallTimes();
        final Object other$callTimes = other.getCallTimes();
        Label_0361: {
            if (this$callTimes == null) {
                if (other$callTimes == null) {
                    break Label_0361;
                }
            }
            else if (this$callTimes.equals(other$callTimes)) {
                break Label_0361;
            }
            return false;
        }
        final Object this$totalCallDur = this.getTotalCallDur();
        final Object other$totalCallDur = other.getTotalCallDur();
        Label_0398: {
            if (this$totalCallDur == null) {
                if (other$totalCallDur == null) {
                    break Label_0398;
                }
            }
            else if (this$totalCallDur.equals(other$totalCallDur)) {
                break Label_0398;
            }
            return false;
        }
        final Object this$totalValSize = this.getTotalValSize();
        final Object other$totalValSize = other.getTotalValSize();
        Label_0435: {
            if (this$totalValSize == null) {
                if (other$totalValSize == null) {
                    break Label_0435;
                }
            }
            else if (this$totalValSize.equals(other$totalValSize)) {
                break Label_0435;
            }
            return false;
        }
        final Object this$avgCallDur = this.getAvgCallDur();
        final Object other$avgCallDur = other.getAvgCallDur();
        Label_0472: {
            if (this$avgCallDur == null) {
                if (other$avgCallDur == null) {
                    break Label_0472;
                }
            }
            else if (this$avgCallDur.equals(other$avgCallDur)) {
                break Label_0472;
            }
            return false;
        }
        final Object this$avgValSize = this.getAvgValSize();
        final Object other$avgValSize = other.getAvgValSize();
        Label_0509: {
            if (this$avgValSize == null) {
                if (other$avgValSize == null) {
                    break Label_0509;
                }
            }
            else if (this$avgValSize.equals(other$avgValSize)) {
                break Label_0509;
            }
            return false;
        }
        final Object this$minValSize = this.getMinValSize();
        final Object other$minValSize = other.getMinValSize();
        Label_0546: {
            if (this$minValSize == null) {
                if (other$minValSize == null) {
                    break Label_0546;
                }
            }
            else if (this$minValSize.equals(other$minValSize)) {
                break Label_0546;
            }
            return false;
        }
        final Object this$maxValSize = this.getMaxValSize();
        final Object other$maxValSize = other.getMaxValSize();
        Label_0583: {
            if (this$maxValSize == null) {
                if (other$maxValSize == null) {
                    break Label_0583;
                }
            }
            else if (this$maxValSize.equals(other$maxValSize)) {
                break Label_0583;
            }
            return false;
        }
        final Object this$minCallDur = this.getMinCallDur();
        final Object other$minCallDur = other.getMinCallDur();
        Label_0620: {
            if (this$minCallDur == null) {
                if (other$minCallDur == null) {
                    break Label_0620;
                }
            }
            else if (this$minCallDur.equals(other$minCallDur)) {
                break Label_0620;
            }
            return false;
        }
        final Object this$maxCallDur = this.getMaxCallDur();
        final Object other$maxCallDur = other.getMaxCallDur();
        Label_0657: {
            if (this$maxCallDur == null) {
                if (other$maxCallDur == null) {
                    break Label_0657;
                }
            }
            else if (this$maxCallDur.equals(other$maxCallDur)) {
                break Label_0657;
            }
            return false;
        }
        final Object this$effectiveTime = this.getEffectiveTime();
        final Object other$effectiveTime = other.getEffectiveTime();
        if (this$effectiveTime == null) {
            if (other$effectiveTime == null) {
                return true;
            }
        }
        else if (this$effectiveTime.equals(other$effectiveTime)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof RedisCallInf;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $appName = this.getAppName();
        result = result * 59 + (($appName == null) ? 43 : $appName.hashCode());
        final Object $ip = this.getIp();
        result = result * 59 + (($ip == null) ? 43 : $ip.hashCode());
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $statTime = this.getStatTime();
        result = result * 59 + (($statTime == null) ? 43 : $statTime.hashCode());
        final Object $key = this.getKey();
        result = result * 59 + (($key == null) ? 43 : $key.hashCode());
        final Object $callDur = this.getCallDur();
        result = result * 59 + (($callDur == null) ? 43 : $callDur.hashCode());
        final Object $valSize = this.getValSize();
        result = result * 59 + (($valSize == null) ? 43 : $valSize.hashCode());
        final Object $operType = this.getOperType();
        result = result * 59 + (($operType == null) ? 43 : $operType.hashCode());
        final Object $callTimes = this.getCallTimes();
        result = result * 59 + (($callTimes == null) ? 43 : $callTimes.hashCode());
        final Object $totalCallDur = this.getTotalCallDur();
        result = result * 59 + (($totalCallDur == null) ? 43 : $totalCallDur.hashCode());
        final Object $totalValSize = this.getTotalValSize();
        result = result * 59 + (($totalValSize == null) ? 43 : $totalValSize.hashCode());
        final Object $avgCallDur = this.getAvgCallDur();
        result = result * 59 + (($avgCallDur == null) ? 43 : $avgCallDur.hashCode());
        final Object $avgValSize = this.getAvgValSize();
        result = result * 59 + (($avgValSize == null) ? 43 : $avgValSize.hashCode());
        final Object $minValSize = this.getMinValSize();
        result = result * 59 + (($minValSize == null) ? 43 : $minValSize.hashCode());
        final Object $maxValSize = this.getMaxValSize();
        result = result * 59 + (($maxValSize == null) ? 43 : $maxValSize.hashCode());
        final Object $minCallDur = this.getMinCallDur();
        result = result * 59 + (($minCallDur == null) ? 43 : $minCallDur.hashCode());
        final Object $maxCallDur = this.getMaxCallDur();
        result = result * 59 + (($maxCallDur == null) ? 43 : $maxCallDur.hashCode());
        final Object $effectiveTime = this.getEffectiveTime();
        result = result * 59 + (($effectiveTime == null) ? 43 : $effectiveTime.hashCode());
        return result;
    }
}
